package com.dify.tool.dal.mapper;

import com.baomidou.dynamic.datasource.annotation.DS;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.dify.tool.api.dto.TechnicalGenerateRecordDTO;
import com.dify.tool.api.vo.TechnicalGenerateRecordVO;
import com.dify.tool.dal.entity.TechnicalGenerateRecord;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * <p>
 * 技术方案生成历史记录 Mapper 接口
 * </p>
 *
 * @author cmd
 * @since 2025-07-17
 */
@Mapper
public interface TechnicalGenerateRecordMapper extends BaseMapper<TechnicalGenerateRecord> {

    /**
     * 分页
     *
     * @param page    分页参数
     * @param pageDto 分页条件
     * @return IPage
     */
    IPage<TechnicalGenerateRecordVO> page(Page page, @Param("pageDto") TechnicalGenerateRecordDTO pageDto);

    /**
     * 消息ID列表获取用户点赞状态
     *
     * @param messageIds 消息ID列表
     * @return IPage
     */
    @DS("pg")
    List<TechnicalGenerateRecordVO> getRatingByMessageIds(@Param("messageIds") List<String> messageIds);
}
